%waar zijn er onderbrekingen en hoe lang?

%bepaal uit de data van dips_14.m waar er welke dips hoelang voorkomen

tijd_begin_onderbreking = 10; %testje -> nog aanpassen (zo goot want anders loopt lus vast;))
tijd_eind_onderbreking = 0;
restspanning = 1;
%k=1;
check_onderbreking = 0;
teller = 0;

%format: lijnfout bus_dip duur max_diepte begin eind
onderbreking_overzicht = zeros(1000,7);
cruciale_lijnen = zeros(20,1);
aantal_onderbrekingen = 0;
% einde = eind;
eind = 0;
cruciaal = 1;

%laten lopen over alle busfouten
for kk = begin:einde

    check_cruciaal = 0;

%lopen over alle bussen 
for k = 1:14
eind = 0;
check_onderbreking = 0;
    
for t = 1:150 % grens op 160???? %size(tijd,1)
    
if (alle_spanningen(t+200*teller,k)<0.1) && (check_onderbreking == 0)
    
    
    if tijd(t,kk) == 0 && check_cruciaal == 0
        %lijst met lijnen die onoplosbaar netwerk veroorzaken als er een
        %fout op toegepast wordt
        cruciale_lijnen(cruciaal,1) = kk;
        check_cruciaal = 1;
        cruciaal = cruciaal + 1;
    else
    
    tijd_begin_onderbreking = tijd(t,kk);
    restspanning = alle_spanningen(t+200*teller,k);
    aantal_onderbrekingen = aantal_onderbrekingen + 1;
    onderbreking_overzicht(aantal_onderbrekingen,4) = restspanning;
    onderbreking_overzicht(aantal_onderbrekingen,5) = tijd_begin_onderbreking;
    onderbreking_overzicht(aantal_onderbrekingen,1) = kk;
    onderbreking_overzicht(aantal_onderbrekingen,2) = k;
    check_onderbreking = 1;
    end
end

% if (tijd(t,kk)>tijd_begin_dip) && (alle_spanningen(t+200*teller,k)>=0.9) && (eind == 0)
if (check_onderbreking == 1) && (alle_spanningen(t+200*teller,k)>=0.1) && (eind == 0)
    
     tijd_eind_onderbreking = tijd(t,kk);
     %duur_dip = tijd_eind_dip - tijd_begin_dip;
%      aantal_dips = aantal_dips + 1;
%      dips_overzicht(aantal_dips,1) = kk;
%      dips_overzicht(aantal_dips,2) = k;
     onderbreking_overzicht(aantal_onderbrekingen,6) = tijd_eind_onderbreking;
     onderbreking_overzicht(aantal_onderbrekingen,3) = onderbreking_overzicht(aantal_onderbrekingen,6)-onderbreking_overzicht(aantal_onderbrekingen,5);
%      dips_overzicht(aantal_dips,4) = diepte_dip;
          
     eind = 1;
     
end
    if check_onderbreking == 1
    if onderbreking_overzicht(aantal_onderbrekingen,3) == 0
         onderbreking_overzicht(aantal_onderbrekingen,3) = 200-onderbreking_overzicht(aantal_onderbrekingen,5);
    end
    end

end

end
teller = teller + 1;
end


IEEE_14_bus_original;
%hangt er een belasting aan de bus met onderbreking?
onderbreking_bussen_belasting = zeros(1000,7);
aantal_onderbrekingen = 0;
teller = 1;
for k=1:size(onderbreking_overzicht,1)
for kk = 1:size(PQ.con,1)
    if PQ.con(kk,1)==onderbreking_overzicht(k,2)
        
        onderbreking_bussen_belasting(teller,:) = onderbreking_overzicht(k,:);
        aantal_onderbrekingen = aantal_onderbrekingen + 1;
        teller = teller+1;
    end
end
end

